--- drivers/input/mouse/alps.c.orig	2021-10-31 23:53:10.000000000 +0300
+++ drivers/input/mouse/alps.c	2021-12-30 15:53:55.876996704 +0300
@@ -1966,6 +1966,7 @@ static int alps_tap_mode(struct psmouse
 	struct ps2dev *ps2dev = &psmouse->ps2dev;
 	int cmd = enable ? PSMOUSE_CMD_SETRATE : PSMOUSE_CMD_SETRES;
 	unsigned char tap_arg = enable ? 0x0A : 0x00;
+	unsigned char tap_arg2 = enable ? 0x14 : 0x0A;
 	unsigned char param[4];
 
 	if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO) ||
@@ -1974,6 +1975,12 @@ static int alps_tap_mode(struct psmouse
 	    ps2_command(ps2dev, &tap_arg, cmd))
 		return -1;
 
+	if (ps2_command(ps2dev,  NULL, PSMOUSE_CMD_SETSCALE11) ||
+	    ps2_command(ps2dev,  NULL, PSMOUSE_CMD_SETSCALE11) ||
+	    ps2_command(ps2dev,  NULL, PSMOUSE_CMD_SETSCALE11) ||
+	    ps2_command(ps2dev, &tap_arg2, PSMOUSE_CMD_SETRATE))
+		return -1;
+
 	if (alps_get_status(psmouse, param))
 		return -1;
 
@@ -2023,8 +2030,8 @@ static int alps_hw_init_v1_v2(struct psm
 		return -1;
 	}
 
-	if (alps_tap_mode(psmouse, true)) {
-		psmouse_warn(psmouse, "Failed to enable hardware tapping\n");
+	if (alps_tap_mode(psmouse, false)) {
+		psmouse_warn(psmouse, "Failed to disable hardware tapping\n");
 		return -1;
 	}
 
